elixir install
언어는 좋은데 좀.. 환경 설정이 그지같다...
이것저것 다 해봤는데.. 다 문제가 조금씩 있어서 다음에는 nix flake&direnv로 해봐야겠음.
-> 2025.2.10. https://github.com/rjcnd105/hj-dotfiles/tree/main/templates/phoenix 내 flake 기반 phoenix template 설정이다.
전부 mac 환경 기준입니다.
버전 관리 안할꺼면 그냥 brew로 설치
brew install elixir elixir-ls next-ls erlang
asdf 통해 elixir 설치
버전 대신에 latest를 하거나, 다른 버전 입력하거나 맘대로
brew install asdf
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git
asdf list-all erlang
asdf list-all elixir
asdf install erlang 27.0.1
asdf install elixir 1.17.2-otp-27
asdf global erlang 27.0.1
asdf global elixir 1.17.2-otp-27
.zshrc에 다음 내용 추가
. /opt/homebrew/opt/asdf/libexec/asdf.sh
export PATH="$PATH:$HOME/.asdf/shims"
brew로 asdf 업데이트하고 난 후 아래 command 실행
asdf reshim
asdf로 postgres 설치 (또는 업그레이드시)
필요한 패키지들 설치 안되어있다면 설치
brew install gcc readline zlib curl ossp-uuid icu4c pkg-config
.zshrc 등에 다음 환경 변수 추가
# brew
export HOMEBREW_PREFIX=/opt/homebrew
export PKG_CONFIG_PATH="/opt/homebrew/bin/pkg-config:$(brew --prefix icu4c)/lib/pkgconfig:$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix zlib)/lib/pkgconfig"
그 다음 아래 커맨드 실행
asdf reshim
asdf plugin-add postgres
asdf install postgres 17.1
asdf global postgres 17.1
pkgx 통해 elixir 설치
--- 24.11.15 현재로선 아직은 asdf 사용하는게 나은 것 같다.
https://dev.to/jonlauridsen/perfect-elixir-environment-setup-1145
위 글이 아주 좋다.
vscode를 사용할꺼면 pkgx가 잘 작동한다.
vscode
elixir, erlang은 pkgx 설치한다.
기존에 다른 방식으로 설치되어 있으면 제거
brew install pkgxdev/made/pkgx
eval "$(pkgx integrate)"
프로젝트 내에 pkgx.yml을 작성한다.
pkgx.yml
dependencies:
erlang.org@26 elixir-lang.org@1.16
그 후
dev
주의할점
pkgx기반으로 에디터가 작동하게 하려면 해당 프로젝트에서 에디터를 실행시켜라.
+etc
install.zsh
#!/bin/zsh
set +euo pipefail
command -v brew &>/dev/null || /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
command -v pkgx &>/dev/null || brew install pkgxdev/made/pkgx
command -v dev &>/dev/null || eval "$(pkgx integrate)"
command -v erl &>/dev/null || dev
echo "Setup complete."
작성 후 zsh install.zsh
LSP 설치
https://github.com/lexical-lsp/lexical
vscode 사용시 lexical lsp 사용가능
https://github.com/lexical-lsp/lexical/blob/main/pages/installation.md#visual-studio-code
zed의 경우에는 lexical lsp를 제대로 지원하지 않는 것 같으니 https://www.elixir-tools.dev/docs/next-ls/editors/#zed
nextls를 사용하도록 하자
-> 현재는 제대로 지원함.
https://github.com/zed-industries/zed/pull/10948
{
"languages": {
"Elixir": {
"language_servers": [ "lexical", "!elixir-ls", "!next-ls", "..."]
}
}
}
postgresql install
brew install postgresql@16